package com.Algorithm;

import java.util.Arrays;

/**
 * 冒泡排序
 *
 * @author yisl
 * @create 2019-06-10 10:51
 */
public class BubbleSort {

    /**
     * (1)比较前后相邻的二个数据，如果前面数据大于后面的数据，就将这二个数据交换。
     * (2)这样对数组的第 0 个数据到 N-1 个数据进行一次遍历后，最大的一个数据就“沉”到数组第 N-1 个位置。
     * (3)N=N-1，如果 N 不为 0 就重复前面二步，否则排序完成。
     */
    public static void bubbleSort(int[] array, int n) {

        //int i,j;
        //for (i=0; i<n; i++){
        //    for (j=0; j<n-i-1; j++){
        //        if (array[j] > array[j + 1]){
        //            int temmp = array[j];
        //            array[j] = array[j + 1];
        //            array[j + 1] = temmp;
        //
        //        }
        //    }
        //}

        for (int i = 0; i < n; i++) {
            for (int j = 0; j < n - i - 1; j++) {
                if(array[j]>array[j+1]){
                    int temp = array[j];
                    array[j] = array[j+1];
                    array[j+1] = temp;
                }

            }
        }
    }

    public static void main(String[] args) {
        int[] array = {1, 7, 8, 5, 3};
        BubbleSort.bubbleSort(array, array.length);
        System.out.println(Arrays.toString(array));

    }

}
